A web browser is an application (computer program) that operates on a computing device (e.g., a personal computer, laptop, personal digital assistant (PDA), cellphone, smartphone, or the like) to enable information available over a network (e.g., the Internet) to be accessed. A web browser may be configured to access information available over a network by utilizing uniform resource identifiers (URIs), which indicate a location by which information may be accessed. A typical web browser may be configured to present network-accessible and/or other information to a user in one or more browser windows, or browser tabs within the browser. A web browser may enable a user to open a plurality of web-browser windows, or tabs within a web browser window, simultaneously.
A web application is a software application that is accessible via a web browser as discussed above. For example, a web application may be a document, such as a hyper text markup language (HTML) document. A document web application may be configured to present information available over a network visually to a user. A document web application may present to a user one or more links (e.g., to a URI) to available information. A user may be provided an ability to select one or more links, which may result in presentation of a new web document, including information accessible via a URI associated with the link. User selection of one or more links of a web document may instead, or in addition, execute one or more non-document web applications to perform a desired function within a browser.
Many web browsers also allow non-document web applications to operate within the confines of the browser for various purposes. For example, a web application may run within the confines of a browser to facilitate communications between different document web applications running within the browser. In another example, a web application may be a digital video or music player with a representation of controls embedded within a document web application to enable a user to playback audio or video accessible via the network or local to a user's computing device. Other web applications may provide a user, via a web browser, access to email, chat, voice over Internet Protocol (VoIP) or other communications functions. Many other types of web applications may also operate within a browser. A web application may or may not be visible to a user operating the browser. In some examples, web applications are written in the Javascript language, which is a software language specifically utilized for development of web applications.
In a typical browser implementation, web applications, and information accessible via a network, may be associated with one or more domains. In order to provide security for users, many web browsers limit communications between web applications associated with different domains operating within the browser. For example, a first web application associated with the domain www.google.com may be prevented from communicating directly with a second web application associated with the domain www.espn.com. In another example, a first web application associated with the domain www.maps.google.com may be prevented from communicating directly with a second web application associated with the domain www.mail.google.com. In order to facilitate inter-domain communications, some web applications are configured to take additional steps to authenticate a web application associated with a different domain to enable inter-domain communications between the web applications.